<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=0.4"/>
<meta name="google" content="notranslate" />
<link rel="canonical" href="https://sleef.org/purec.xhtml" />
<link rel="icon" href="favicon.png" />
<link rel="stylesheet" type="text/css" href="texlike.css"/>
<link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Ubuntu" />
<link rel="stylesheet" type="text/css" href="sleef.css"/>
<title>SLEEF - Math library reference (scalar)</title>
</head>
<body translate="no" class="notranslate">
<h1>SLEEF Documentation - Math library reference</h1>

<h2>Table of contents</h2>

<ul class="none" style="font-family: arial, sansserif; padding-left: 0.5cm;">
  <li><a class="underlined" href="index.xhtml">Introduction</a></li>
  <li><a class="underlined" href="compile.xhtml">Compiling and installing the library</a></li>
  <li>&nbsp;</li>
  <li><a class="underlined" href="purec.xhtml">Math library reference</a>
  <ul class="disc">
    <li><a class="underlined" href="purec.xhtml">Data types and functions for all architectures</a></li>
    <ul class="circle">
      <li><a href="purec.xhtml#datatypes">Data types</a></li>
      <li><a href="purec.xhtml#trig">Trigonometric functions</a></li>
      <li><a href="purec.xhtml#pow">Power, exponential, and logarithmic functions</a></li>
      <li><a href="purec.xhtml#invtrig">Inverse trigonometric functions</a></li>
      <li><a href="purec.xhtml#hyp">Hyperbolic functions and inverse hyperbolic functions</a></li>
      <li><a href="purec.xhtml#eg">Error and gamma functions</a></li>
      <li><a href="purec.xhtml#nearint">Nearest integer functions</a></li>
      <li><a href="purec.xhtml#other">Other functions</a></li>
    </ul>
    <li><a class="underlined" href="x86.xhtml">Data types and functions for x86 architecture</a></li>
    <li><a class="underlined" href="aarch64.xhtml">Data types and functions for AArch64 architecture</a></li>
    <li><a class="underlined" href="aarch32.xhtml">Data types and functions for AArch32 architecture</a></li>
    <li><a class="underlined" href="ppc64.xhtml">Data types and functions for PPC64 architecture</a></li>
    <li><a class="underlined" href="s390x.xhtml">Data types and functions for System/390 architecture</a></li>
  </ul>
  </li>
  <li>&nbsp;</li>
  <li><a class="underlined" href="dft.xhtml">DFT library reference</a>
  <li><a class="underlined" href="misc.xhtml">Other tools included in the package</a></li>
  <li><a class="underlined" href="benchmark.xhtml">Benchmark results</a></li>
  <li><a class="underlined" href="additional.xhtml">Additional notes</a></li>
  </li>
</ul>


<h2 id="datatypes">Data types</h2>

<p class="funcname"><b class="type">Sleef_double2</b></p>

<p class="header">Description</p>

<p class="noindent">
<b class="type">Sleef_double2</b> is a generic data type for storing
two double-precision floating point values, which is defined in
&lt;sleef.h&gt; as follows:
</p>

<pre class="white">typedef struct {
      double x, y;
} Sleef_double2;
</pre>

<hr/>

<p class="funcname"><b class="type">Sleef_float2</b></p>

<p class="header">Description</p>

<p class="noindent">
<b class="type">Sleef_float2</b> is a generic data type for storing two single-precision
floating point values, which is defined in &lt;sleef.h&gt; as follows:
</p>

<pre class="white">typedef struct {
      float x, y;
} Sleef_float2;
</pre>

<hr/>

<p class="funcname"><b class="type">Sleef_longdouble2</b></p>

<p class="header">Description</p>

<p class="noindent">
<b class="type">Sleef_longdouble2</b> is a generic data type for storing two
extended-precision (80-bit) floating point values, which is defined in
&lt;sleef.h&gt; as follows:
</p>

<pre class="white">typedef struct {
      long double x, y;
} Sleef_longdouble2;
</pre>

<h2 id="trig">Trigonometric Functions</h2>

<p class="funcname"><b id="Sleef_sin_u10" class="func">Sleef_sin_u10</b>, <b id="Sleef_sinf_u10" class="func">Sleef_sinf_u10</b> - sine functions with 1.0 ULP error bound</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_sin_u10</b>(<b class="type">double</b> <i class="var">a</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_sinf_u10</b>(<b class="type">float</b> <i class="var">a</i>);<br/>
<!--<b class="type">long double</b> <b class="func">Sleef_sinl_u10</b>(<b class="type">long double</b> <i class="var">a</i>);<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions evaluate the sine function of a value
  in <i class="var">a</i>. The error bound of the returned value is
  1.0 ULP.  These functions treat the non-number arguments and return
  non-numbers as specified in the C99 specification. These functions
  do not set errno nor raise an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_sin_u35" class="func">Sleef_sin_u35</b>, <b id="Sleef_sinf_u35" class="func">Sleef_sinf_u35</b> - sine functions with 3.5 ULP error bound</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_sin_u35</b>(<b class="type">double</b> <i class="var">a</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_sinf_u35</b>(<b class="type">float</b> <i class="var">a</i>);<br/>
<!--<b class="type">long double</b> <b class="func">Sleef_sinl_u35</b>(<b class="type">long double</b> <i class="var">a</i>);<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions evaluate the sine function of a value
  in <i class="var">a</i>. The error bound of the returned value is
  3.5 ULP. These functions treat the non-number arguments and return
  non-numbers as specified in the C99 specification. These functions
  do not set errno nor raise an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_cos_u10" class="func">Sleef_cos_u10</b>, <b id="Sleef_cosf_u10" class="func">Sleef_cosf_u10</b> - cosine functions with 1.0 ULP error bound</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_cos_u10</b>(<b class="type">double</b> <i class="var">a</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_cosf_u10</b>(<b class="type">float</b> <i class="var">a</i>);<br/>
<!--<b class="type">long double</b> <b class="func">Sleef_cosl_u10</b>(<b class="type">long double</b> <i class="var">a</i>);<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions evaluate the cosine function of a value
  in <i class="var">a</i>. The error bound of the returned value is
  1.0 ULP. These functions treat the non-number arguments and return
  non-numbers as specified in the C99 specification. These functions
  do not set errno nor raise an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_cos_u35" class="func">Sleef_cos_u35</b>, <b id="Sleef_sin_u10" class="func">Sleef_cosf_u35</b> - cosine functions with 3.5 ULP error bound</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_cos_u35</b>(<b class="type">double</b> <i class="var">a</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_cosf_u35</b>(<b class="type">float</b> <i class="var">a</i>);<br/>
<!--<b class="type">long double</b> <b class="func">Sleef_cosl_u35</b>(<b class="type">long double</b> <i class="var">a</i>);<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions evaluate the cosine function of a value
  in <i class="var">a</i>. The error bound of the returned value is
  3.5 ULP. These functions treat the non-number arguments and return
  non-numbers as specified in the C99 specification. These functions
  do not set errno nor raise an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_sincos_u10" class="func">Sleef_sincos_u10</b>, <b id="Sleef_sincosf_u10" class="func">Sleef_sincosf_u10</b> - evaluate sine and cosine functions simultaneously with 1.0 ULP error bound</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">Sleef_double2</b> <b class="func">Sleef_sincos_u10</b>(<b class="type">double</b> <i class="var">a</i>)<br/>
<b class="type">Sleef_float2</b> <b class="func">Sleef_sincosf_u10</b>(<b class="type">float</b> <i class="var">a</i>)<br/>
<!--<b class="type">Sleef_longdouble2</b> <b class="func">Sleef_sincosl_u10</b>(<b class="type">long double</b> <i class="var">a</i>)<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  Evaluates the sine and cosine functions of a value
  in <i class="var">a</i> at a time, and store the two values
  in <i class="var">x</i> and <i class="var">y</i> elements in the
  returned value, respectively. The error bound of the returned values
  is 1.0 ULP. If <i class="var">a</i> is a NaN or infinity, a NaN is
  returned.
</p>

<hr/>

<p class="funcname"><b id="Sleef_sincos_u35" class="func">Sleef_sincos_u35</b>, <b id="Sleef_sincosf_u35" class="func">Sleef_sincosf_u35</b> - evaluate sine and cosine functions simultaneously with 3.5 ULP error bound</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">Sleef_double2</b> <b class="func">Sleef_sincos_u35</b>(<b class="type">double</b> <i class="var">a</i>)<br/>
<b class="type">Sleef_float2</b> <b class="func">Sleef_sincosf_u35</b>(<b class="type">float</b> <i class="var">a</i>)<br/>
<!--<b class="type">Sleef_longdouble2</b> <b class="func">Sleef_sincosl_u35</b>(<b class="type">long double</b> <i class="var">a</i>)<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  Evaluates the sine and cosine functions of a value
  in <i class="var">a</i> at a time, and store the two values
  in <i class="var">x</i> and <i class="var">y</i> elements in the
  returned value, respectively. The error bound of the returned values
  is 3.5 ULP. If <i class="var">a</i> is a NaN or infinity, a NaN is
  returned.
</p>

<hr/>

<p class="funcname"><b id="Sleef_sincospi_u05" class="func">Sleef_sincospi_u05</b>, <b id="Sleef_sincospif_u05" class="func">Sleef_sincospif_u05</b>, <b id="Sleef_sincospil_u05" class="func">Sleef_sincospil_u05</b> - evaluate <i class="math">sin( &pi;<i class="var">a</i> )</i> and <i class="math">cos( &pi;<i class="var">a</i> )</i> for given <i class="var">a</i> simultaneously with 0.506 ULP error bound</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">Sleef_double2</b> <b class="func">Sleef_sincospi_u05</b>(<b class="type">double</b> <i class="var">a</i>)<br/>
<b class="type">Sleef_float2</b> <b class="func">Sleef_sincospif_u05</b>(<b class="type">float</b> <i class="var">a</i>)<br/>
<b class="type">Sleef_longdouble2</b> <b class="func">Sleef_sincospil_u05</b>(<b class="type">long double</b> <i class="var">a</i>)<br/>
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  Evaluates the sine and cosine functions of <i class="math">
  &pi;<i class="var">a</i> </i> at a time, and store the two values
  in <i class="var">x</i> and <i class="var">y</i> elements in the
  returned value, respectively. The error bound of the returned value
  are max(0.506 ULP, DBL_MIN) if <i class="var">a</i> is in [-1e+9,
  1e+9] for double-precision function, or max(0.506 ULP, FLT_MIN) if
  [-1e+7, 1e+7] for the single-precision
  function. If <i class="var">a</i> is a finite value out of this
  range, an arbitrary value within [-1, 1] is
  returned. If <i class="var">a</i> is a NaN or infinity, a NaN is
  returned.
</p>

<hr/>

<p class="funcname"><b id="Sleef_sincospi_u35" class="func">Sleef_sincospi_u35</b>, <b id="Sleef_sincospif_u35" class="func">Sleef_sincospif_u35</b>, <b id="Sleef_sincospil_u35" class="func">Sleef_sincospil_u35</b> - evaluate <i class="math">sin( &pi;<i class="var">a</i> )</i> and <i class="math">cos( &pi;<i class="var">a</i> )</i> for given <i class="var">a</i> simultaneously with 3.5 ULP error bound</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">Sleef_double2</b> <b class="func">Sleef_sincospi_u35</b>(<b class="type">double</b> <i class="var">a</i>)<br/>
<b class="type">Sleef_float2</b> <b class="func">Sleef_sincospif_u35</b>(<b class="type">float</b> <i class="var">a</i>)<br/>
<b class="type">Sleef_longdouble2</b> <b class="func">Sleef_sincospil_u35</b>(<b class="type">long double</b> <i class="var">a</i>)<br/>
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  Evaluates the sine and cosine functions of <i class="math">
  &pi;<i class="var">a</i> </i> at a time, and store the two values in <i class="var">x</i>
  and <i class="var">y</i> elements in the returned value, respectively. The error
  bound of the returned values is 3.5 ULP if <i class="var">a</i> is in [-1e+9,
  1e+9] for double-precision function or [-1e+7, 1e+7] for the
  single-precision function. If <i class="var">a</i> is a finite value out of this
  range, an arbitrary value within [-1, 1] is returned. If <i class="var">a</i> is
  a NaN or infinity, a NaN is returned.
</p>

<hr/>

<p class="funcname"><b id="Sleef_sinpi_u05" class="func">Sleef_sinpi_u05</b>, <b id="Sleef_sinpif_u05" class="func">Sleef_sinpif_u05</b> - evaluate <i class="math">sin( &pi;<i class="var">a</i> )</i> for given <i class="var">a</i> with 0.506 ULP error bound</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_sinpi_u05</b>(<b class="type">double</b> <i class="var">a</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_sinpif_u05</b>(<b class="type">float</b> <i class="var">a</i>);<br/>
<!--<b class="type">long double</b> <b class="func">Sleef_sinpil_u05</b>(<b class="type">long double</b> <i class="var">a</i>);<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions evaluate the sine functions of <i class="math">
  &pi;<i class="var">a</i> </i>. The error bound of the returned value
  are max(0.506 ULP, DBL_MIN) if <i class="var">a</i> is in [-1e+9,
  1e+9] for double-precision function, or max(0.506 ULP, FLT_MIN) if
  [-1e+7, 1e+7] for the single-precision
  function. If <i class="var">a</i> is a finite value out of this
  range, an arbitrary value within [-1, 1] is
  returned. If <i class="var">a</i> is a NaN or infinity, a NaN is
  returned.
</p>

<hr/>

<p class="funcname"><b id="Sleef_cospi_u05" class="func">Sleef_cospi_u05</b>, <b id="Sleef_cospif_u05" class="func">Sleef_cospif_u05</b> - evaluate <i class="math">cos( &pi;<i class="var">a</i> )</i> for given <i class="var">a</i> with 0.506 ULP error bound</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_cospi_u05</b>(<b class="type">double</b> <i class="var">a</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_cospif_u05</b>(<b class="type">float</b> <i class="var">a</i>);<br/>
<!--<b class="type">long double</b> <b class="func">Sleef_cospil_u05</b>(<b class="type">long double</b> <i class="var">a</i>);<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions evaluate the cosine functions of <i class="math">
  &pi;<i class="var">a</i> </i>. The error bound of the returned value
  are max(0.506 ULP, DBL_MIN) if <i class="var">a</i> is in [-1e+9,
  1e+9] for double-precision function, or max(0.506 ULP, FLT_MIN) if
  [-1e+7, 1e+7] for the single-precision
  function. If <i class="var">a</i> is a finite value out of this
  range, an arbitrary value within [-1, 1] is
  returned. If <i class="var">a</i> is a NaN or infinity, a NaN is
  returned.
</p>


<hr/>

<p class="funcname"><b id="Sleef_tan_u10" class="func">Sleef_tan_u10</b>, <b id="Sleef_tan_u10" class="func">Sleef_tanf_u10</b> - tangent functions with 1.0 ULP error bound</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_tan_u10</b>(<b class="type">double</b> <i class="var">a</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_tanf_u10</b>(<b class="type">float</b> <i class="var">a</i>);<br/>
<!--<b class="type">long double</b> <b class="func">Sleef_tanl_u10</b>(<b class="type">long double</b> <i class="var">a</i>);<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions evaluate the tangent function of a value
  in <i class="var">a</i>. The error bound of the returned value is
  1.0 ULP. These functions treat the non-number arguments and return
  non-numbers as specified in the C99 specification. These functions
  do not set errno nor raise an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_tan_u10" class="func">Sleef_tan_u35</b>, <b id="Sleef_tan_u10" class="func">Sleef_tanf_u35</b> - tangent functions with 3.5 ULP error bound</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_tan_u35</b>(<b class="type">double</b> <i class="var">a</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_tanf_u35</b>(<b class="type">float</b> <i class="var">a</i>);<br/>
<!--<b class="type">long double</b> <b class="func">Sleef_tanl_u35</b>(<b class="type">long double</b> <i class="var">a</i>);<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions evaluate the tangent function of a value
  in <i class="var">a</i>. The error bound of the returned value is
  3.5 ULP. These functions treat the non-number arguments and return
  non-numbers as specified in the C99 specification. These functions
  do not set errno nor raise an exception.
</p>


<h2 id="pow">Power, exponential, and logarithmic functions</h2>

<p class="funcname"><b id="Sleef_pow_u10" class="func">Sleef_pow_u10</b>, <b id="Sleef_powf_u10" class="func">Sleef_powf_u10</b> - power functions</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_pow_u10</b>(<b class="type">double</b> <i class="var">x</i>, <b class="type">double</b> <i class="var">y</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_powf_u10</b>(<b class="type">float</b> <i class="var">x</i>, <b class="type">float</b> <i class="var">y</i>);<br/>
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions return the value of <i class="var">x</i> raised to the power
  of <i class="var">y</i>. The error bound of the returned value is 1.0 ULP. These
  functions treat the non-number arguments and return non-numbers as
  specified in the C99 specification. These functions do not set errno
  nor raise an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_log_u10" class="func">Sleef_log_u10</b>, <b id="Sleef_logf_u10" class="func">Sleef_logf_u10</b> - natural logarithmic functions with 1.0 ULP error bound</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_log_u10</b>(<b class="type">double</b> <i class="var">a</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_logf_u10</b>(<b class="type">float</b> <i class="var">a</i>);<br/>
<!--<b class="type">long double</b> <b class="func">Sleef_logl_u10</b>(<b class="type">long double</b> <i class="var">a</i>);<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions return the natural logarithm of <i class="var">a</i>. The error
  bound of the returned value is 1.0 ULP.  These functions treat the
  non-number arguments and return non-numbers as specified in the C99
  specification. These functions do not set errno nor raise an
  exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_log_u35" class="func">Sleef_log_u35</b>, <b id="Sleef_logf_u35" class="func">Sleef_logf_u35</b> - natural logarithmic functions with 3.5 ULP error bound</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_log_u35</b>(<b class="type">double</b> <i class="var">a</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_logf_u35</b>(<b class="type">float</b> <i class="var">a</i>);<br/>
<!--<b class="type">long double</b> <b class="func">Sleef_logl_u35</b>(<b class="type">long double</b> <i class="var">a</i>);<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions return the natural logarithm of <i class="var">a</i>. The error
  bound of the returned value is 3.5 ULP.  These functions treat the
  non-number arguments and return non-numbers as specified in the C99
  specification. These functions do not set errno nor raise an
  exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_log10_u10" class="func">Sleef_log10_u10</b>, <b id="Sleef_log10f_u10" class="func">Sleef_log10f_u10</b> - base-10 logarithmic functions</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_log10_u10</b>(<b class="type">double</b> <i class="var">a</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_log10f_u10</b>(<b class="type">float</b> <i class="var">a</i>);<br/>
<!--<b class="type">long double</b> <b class="func">Sleef_logl_u10</b>(<b class="type">long double</b> <i class="var">a</i>);<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions return the base-10 logarithm of <i class="var">a</i>. The error
  bound of the returned value is 1.0 ULP.  These functions treat the
  non-number arguments and return non-numbers as specified in the C99
  specification. These functions do not set errno nor raise an
  exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_log2_u10" class="func">Sleef_log2_u10</b>, <b id="Sleef_log2f_u10" class="func">Sleef_log2f_u10</b> - base-10 logarithmic functions</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_log2_u10</b>(<b class="type">double</b> <i class="var">a</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_log2f_u10</b>(<b class="type">float</b> <i class="var">a</i>);<br/>
<!--<b class="type">long double</b> <b class="func">Sleef_logl_u10</b>(<b class="type">long double</b> <i class="var">a</i>);<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions return the base-2 logarithm of <i class="var">a</i>. The error
  bound of the returned value is 1.0 ULP.  These functions treat the
  non-number arguments and return non-numbers as specified in the C99
  specification. These functions do not set errno nor raise an
  exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_log1p_u10" class="func">Sleef_log1p_u10</b>, <b id="Sleef_log1pf_u10" class="func">Sleef_log1pf_u10</b> - logarithm of one plus argument</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_log1p_u10</b>(<b class="type">double</b> <i class="var">a</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_log1pf_u10</b>(<b class="type">float</b> <i class="var">a</i>);<br/>
<!--<b class="type">long double</b> <b class="func">Sleef_logl_u10</b>(<b class="type">long double</b> <i class="var">a</i>);<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions return the natural logarithm of (1+<i class="var">a</i>). The error
  bound of the returned value is 1.0 ULP.  These functions treat the
  non-number arguments and return non-numbers as specified in the C99
  specification. These functions do not set errno nor raise an
  exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_exp_u10" class="func">Sleef_exp_u10</b>, <b id="Sleef_expf_u10" class="func">Sleef_expf_u10</b> - base-<i>e</i> exponential functions</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_exp_u10</b>(<b class="type">double</b> <i class="var">a</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_expf_u10</b>(<b class="type">float</b> <i class="var">a</i>);<br/>
<!--<b class="type">long double</b> <b class="func">Sleef_expl_u10</b>(<b class="type">long double</b> <i class="var">a</i>);<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions return the value of <i>e</i> raised
  to <i class="var">a</i>. The error bound of the returned value is 1.0 ULP.
  These functions treat the non-number arguments and return
  non-numbers as specified in the C99 specification. These functions
  do not set errno nor raise an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_exp2_u10" class="func">Sleef_exp2_u10</b>, <b id="Sleef_exp2f_u10" class="func">Sleef_exp2f_u10</b> - base-2 exponential functions</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_exp2_u10</b>(<b class="type">double</b> <i class="var">a</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_exp2f_u10</b>(<b class="type">float</b> <i class="var">a</i>);<br/>
<!--<b class="type">long double</b> <b class="func">Sleef_exp2l_u10</b>(<b class="type">long double</b> <i class="var">a</i>);<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions return 2 raised to <i class="var">a</i>. The error bound of the
  returned value is 1.0 ULP.  These functions treat the non-number
  arguments and return non-numbers as specified in the C99
  specification. These functions do not set errno nor raise an
  exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_exp10_u10" class="func">Sleef_exp10_u10</b>, <b id="Sleef_exp10f_u10" class="func">Sleef_exp10f_u10</b> - base-10 exponential functions</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_exp10_u10</b>(<b class="type">double</b> <i class="var">a</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_exp10f_u10</b>(<b class="type">float</b> <i class="var">a</i>);<br/>
<!--<b class="type">long double</b> <b class="func">Sleef_exp10l_u10</b>(<b class="type">long double</b> <i class="var">a</i>);<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions return 10 raised to <i class="var">a</i>. The error bound of the
  returned value is 1.09 ULP.  These functions treat the non-number
  arguments and return non-numbers as specified in the C99
  specification. These functions do not set errno nor raise an
  exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_expm1_u10" class="func">Sleef_expm1_u10</b>, <b id="Sleef_expm1f_u10" class="func">Sleef_expm1f_u10</b> - base-<i>e</i> exponential functions minus 1</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_expm1_u10</b>(<b class="type">double</b> <i class="var">a</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_expm1f_u10</b>(<b class="type">float</b> <i class="var">a</i>);<br/>
<!--<b class="type">long double</b> <b class="func">Sleef_expm1l_u10</b>(<b class="type">long double</b> <i class="var">a</i>);<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions return the value one less than <i>e</i>
  raised to <i class="var">a</i>. The error bound of the returned value is 1.0
  ULP.  These functions treat the non-number arguments and return
  non-numbers as specified in the C99 specification. These functions
  do not set errno nor raise an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_sqrt_u05" class="func">Sleef_sqrt_u05</b>, <b id="Sleef_sqrtf_u05" class="func">Sleef_sqrtf_u05</b> - square root function with 0.5001 ULP error bound</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_sqrt_u05</b>(<b class="type">double</b> <i class="var">x</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_sqrtf_u05</b>(<b class="type">float</b> <i class="var">x</i>);<br/>
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions return the value as specified in the C99
  specification of sqrt and sqrtf functions. The error bound of the
  returned value is 0.5001 ULP.  These functions do not set errno nor
  raise an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_sqrtf_u35" class="func">Sleef_sqrtf_u35</b> - square root function with 3.5 ULP error bound</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<!--<b class="type">double</b> <b class="func">Sleef_sqrt_u05</b>(<b class="type">double</b> <i class="var">x</i>);<br/>-->
<b class="type">float</b> <b class="func">Sleef_sqrt_u35</b>(<b class="type">float</b> <i class="var">x</i>);<br/>
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions return the value as specified in the C99
  specification of sqrt and sqrtf functions. The error bound of the
  returned value is 3.5 ULP.  These functions do not set errno nor
  raise an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_cbrt_u10" class="func">Sleef_cbrt_u10</b>, <b id="Sleef_cbrtf_u10" class="func">Sleef_cbrtf_u10</b> - cube root function with 1.0 ULP error bound</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_cbrt_u10</b>(<b class="type">double</b> <i class="var">a</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_cbrtf_u10</b>(<b class="type">float</b> <i class="var">a</i>);<br/>
<!--<b class="type">long double</b> <b class="func">Sleef_logl_u10</b>(<b class="type">long double</b> <i class="var">a</i>);<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions return the real cube root of <i class="var">a</i>. The error
  bound of the returned value is 1.0 ULP.  These functions treat the
  non-number arguments and return non-numbers as specified in the C99
  specification. These functions do not set errno nor raise an
  exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_cbrt_u35" class="func">Sleef_cbrt_u35</b>, <b id="Sleef_cbrtf_u35" class="func">Sleef_cbrtf_u35</b> - cube root function with 3.5 ULP error bound</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_cbrt_u35</b>(<b class="type">double</b> <i class="var">a</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_cbrtf_u35</b>(<b class="type">float</b> <i class="var">a</i>);<br/>
<!--<b class="type">long double</b> <b class="func">Sleef_logl_u35</b>(<b class="type">long double</b> <i class="var">a</i>);<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions return the real cube root of <i class="var">a</i>. The error
  bound of the returned value is 1.0 ULP.  These functions treat the
  non-number arguments and return non-numbers as specified in the C99
  specification. These functions do not set errno nor raise an
  exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_hypot_u05" class="func">Sleef_hypot_u05</b>, <b id="Sleef_hypotf_u05" class="func">Sleef_hypotf_u05</b> - 2D Euclidian distance function with 0.5 ULP error bound</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_hypot_u05</b>(<b class="type">double</b> <i class="var">x</i>, <b class="type">double</b> <i class="var">y</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_hypotf_u05</b>(<b class="type">float</b> <i class="var">x</i>, <b class="type">float</b> <i class="var">y</i>);<br/>
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions return the value as specified in the C99
  specification of hypot and hypotf functions. The error bound of the
  returned value is 0.5001 ULP.  These functions do not set errno nor
  raise an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_hypot_u35" class="func">Sleef_hypot_u35</b>, <b id="Sleef_hypotf_u35" class="func">Sleef_hypotf_u35</b> - 2D Euclidian distance function with 3.5 ULP error bound</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_hypot_u35</b>(<b class="type">double</b> <i class="var">x</i>, <b class="type">double</b> <i class="var">y</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_hypotf_u35</b>(<b class="type">float</b> <i class="var">x</i>, <b class="type">float</b> <i class="var">y</i>);<br/>
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions return the value as specified in the C99
  specification of hypot and hypotf functions. The error bound of the
  returned value is 0.5001 ULP.  These functions do not set errno nor
  raise an exception.
</p>

<h2 id="invtrig">Inverse Trigonometric Functions</h2>

<p class="funcname"><b id="Sleef_asin_u10" class="func">Sleef_asin_u10</b>, <b id="Sleef_asinf_u10" class="func">Sleef_asinf_u10</b> - arc sine functions with 1.0 ULP error bound</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_asin_u10</b>(<b class="type">double</b> <i class="var">a</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_asinf_u10</b>(<b class="type">float</b> <i class="var">a</i>);<br/>
<!--<b class="type">long double</b> <b class="func">Sleef_asinl_u10</b>(<b class="type">long double</b> <i class="var">a</i>);<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions evaluate the arc sine function of a value
  in <i class="var">a</i>. The error bound of the returned value is 1.0 ULP. These
  functions treat the non-number arguments and return non-numbers as
  specified in the C99 specification. These functions do not set errno
  nor raise an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_asin_u35" class="func">Sleef_asin_u35</b>, <b id="Sleef_asinf_u35" class="func">Sleef_asinf_u35</b> - arc sine functions with 3.5 ULP error bound</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_asin_u35</b>(<b class="type">double</b> <i class="var">a</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_asinf_u35</b>(<b class="type">float</b> <i class="var">a</i>);<br/>
<!--<b class="type">long double</b> <b class="func">Sleef_asinl_u35</b>(<b class="type">long double</b> <i class="var">a</i>);<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions evaluate the arc sine function of a value
  in <i class="var">a</i>. The error bound of the returned value is 3.5 ULP. These
  functions treat the non-number arguments and return non-numbers as
  specified in the C99 specification. These functions do not set errno
  nor raise an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_acos_u10" class="func">Sleef_acos_u10</b>, <b id="Sleef_acosf_u10" class="func">Sleef_acosf_u10</b> - arc cosine functions with 1.0 ULP error bound</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_acos_u10</b>(<b class="type">double</b> <i class="var">a</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_acosf_u10</b>(<b class="type">float</b> <i class="var">a</i>);<br/>
<!--<b class="type">long double</b> <b class="func">Sleef_acosl_u10</b>(<b class="type">long double</b> <i class="var">a</i>);<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions evaluate the arc cosine function of a value
  in <i class="var">a</i>. The error bound of the returned value is 1.0 ULP. These
  functions treat the non-number arguments and return non-numbers as
  specified in the C99 specification. These functions do not set errno
  nor raise an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_acos_u35" class="func">Sleef_acos_u35</b>, <b id="Sleef_acosf_u35" class="func">Sleef_acosf_u35</b> - arc cosine functions with 3.5 ULP error bound</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_acos_u35</b>(<b class="type">double</b> <i class="var">a</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_acosf_u35</b>(<b class="type">float</b> <i class="var">a</i>);<br/>
<!--<b class="type">long double</b> <b class="func">Sleef_acosl_u35</b>(<b class="type">long double</b> <i class="var">a</i>);<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions evaluate the arc cosine function of a value
  in <i class="var">a</i>. The error bound of the returned value is 3.5 ULP. These
  functions treat the non-number arguments and return non-numbers as
  specified in the C99 specification. These functions do not set errno
  nor raise an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_atan_u10" class="func">Sleef_atan_u10</b>, <b id="Sleef_atanf_u10" class="func">Sleef_atanf_u10</b> - arc tangent functions with 1.0 ULP error bound</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_atan_u10</b>(<b class="type">double</b> <i class="var">a</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_atanf_u10</b>(<b class="type">float</b> <i class="var">a</i>);<br/>
<!--<b class="type">long double</b> <b class="func">Sleef_atanl_u10</b>(<b class="type">long double</b> <i class="var">a</i>);<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions evaluate the arc tangent function of a value
  in <i class="var">a</i>. The error bound of the returned value is 1.0 ULP. These
  functions treat the non-number arguments and return non-numbers as
  specified in the C99 specification. These functions do not set errno
  nor raise an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_atan_u35" class="func">Sleef_atan_u35</b>, <b id="Sleef_atanf_u35" class="func">Sleef_atanf_u35</b> - arc tangent functions with 3.5 ULP error bound</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_atan_u35</b>(<b class="type">double</b> <i class="var">a</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_atanf_u35</b>(<b class="type">float</b> <i class="var">a</i>);<br/>
<!--<b class="type">long double</b> <b class="func">Sleef_atanl_u35</b>(<b class="type">long double</b> <i class="var">a</i>);<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions evaluate the arc tangent function of a value
  in <i class="var">a</i>. The error bound of the returned value is 3.5 ULP. These
  functions treat the non-number arguments and return non-numbers as
  specified in the C99 specification. These functions do not set errno
  nor raise an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_atan2_u10" class="func">Sleef_atan2_u10</b>, <b id="Sleef_atan2f_u10" class="func">Sleef_atan2f_u10</b> - arc tangent functions of two variables with 1.0 ULP error bound</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_atan2_u10</b>(<b class="type">double</b> <i class="var">y</i>, <b class="type">double</b> <i class="var">x</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_atan2f_u10</b>(<b class="type">float</b> <i class="var">y</i>, <b class="type">float</b> <i class="var">x</i>);<br/>
<!--<b class="type">long double</b> <b class="func">Sleef_atan2l_u10</b>(<b class="type">long double</b> <i class="var">y</i>, <b class="type">long double</b> <i class="var">x</i>);<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions evaluate the arc tangent function
  of (<i class="var">y</i> / <i class="var">x</i>).  The quadrant of the
  result is determined according to the signs of <i class="var">x</i>
  and <i class="var">y</i>.  The error bounds of the returned values
  are max(1.0 ULP, DBL_MIN) and max(1.0 ULP, FLT_MIN),
  respectively. These functions treat the non-number arguments and
  return non-numbers as specified in the C99 specification. These
  functions do not set errno nor raise an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_atan2_u35" class="func">Sleef_atan2_u35</b>, <b id="Sleef_atan2f_u35" class="func">Sleef_atan2f_u35</b> - arc tangent functions of two variables with 3.5 ULP error bound</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_atan2_u35</b>(<b class="type">double</b> <i class="var">y</i>, <b class="type">double</b> <i class="var">x</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_atan2f_u35</b>(<b class="type">float</b> <i class="var">y</i>, <b class="type">float</b> <i class="var">x</i>);<br/>
<!--<b class="type">long double</b> <b class="func">Sleef_atan2l_u35</b>(<b class="type">long double</b> <i class="var">y</i>, <b class="type">long double</b> <i class="var">x</i>);<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions evaluate the arc tangent function
  of (<i class="var">y</i> / <i class="var">x</i>).  The quadrant of the result is determined
  according to the signs of <i class="var">x</i> and <i class="var">y</i>.  The error bound of
  the returned value is 3.5 ULP. These functions treat the non-number
  arguments and return non-numbers as specified in the C99
  specification. These functions do not set errno nor raise an
  exception.
</p>

<h2 id="hyp">Hyperbolic functions and inverse hyperbolic functions</h2>

<p class="funcname"><b id="Sleef_sinh_u10" class="func">Sleef_sinh_u10</b>, <b id="Sleef_sinhf_u10" class="func">Sleef_sinhf_u10</b> - hyperbolic sine functions</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_sinh_u10</b>(<b class="type">double</b> <i class="var">a</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_sinhf_u10</b>(<b class="type">float</b> <i class="var">a</i>);<br/>
<!--<b class="type">long double</b> <b class="func">Sleef_sinhl_u10</b>(<b class="type">long double</b> <i class="var">a</i>);<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions evaluate the hyperbolic sine function of a value
  in <i class="var">a</i>. The error bound of the returned value is 1.0 ULP
  if <i class="var">a</i> is in [-709, 709] for the double-precision function or
  [-88.5, 88.5] for the single-precision function . If <i class="var">a</i> is a
  finite value out of this range, infinity with a correct sign or a
  correct value with 1.0 ULP error bound is returned. These functions
  treat the non-number arguments and return non-numbers as specified
  in the C99 specification. These functions do not set errno nor raise
  an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_sinh_u35" class="func">Sleef_sinh_u35</b>, <b id="Sleef_sinhf_u35" class="func">Sleef_sinhf_u35</b> - hyperbolic sine functions</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_sinh_u35</b>(<b class="type">double</b> <i class="var">a</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_sinhf_u35</b>(<b class="type">float</b> <i class="var">a</i>);<br/>
<!--<b class="type">long double</b> <b class="func">Sleef_sinhl_u35</b>(<b class="type">long double</b> <i class="var">a</i>);<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions evaluate the hyperbolic sine function of a value
  in <i class="var">a</i>. The error bound of the returned value is 3.5 ULP
  if <i class="var">a</i> is in [-709, 709] for the double-precision function or
  [-88, 88] for the single-precision function . If <i class="var">a</i> is a
  finite value out of this range, infinity with a correct sign or a
  correct value with 3.5 ULP error bound is returned. These functions
  treat the non-number arguments and return non-numbers as specified
  in the C99 specification. These functions do not set errno nor raise
  an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_cosh_u10" class="func">Sleef_cosh_u10</b>, <b id="Sleef_coshf_u10" class="func">Sleef_coshf_u10</b> - hyperbolic cosine functions</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_cosh_u10</b>(<b class="type">double</b> <i class="var">a</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_coshf_u10</b>(<b class="type">float</b> <i class="var">a</i>);<br/>
<!--<b class="type">long double</b> <b class="func">Sleef_coshl_u10</b>(<b class="type">long double</b> <i class="var">a</i>);<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions evaluate the hyperbolic cosine function of a value
  in <i class="var">a</i>. The error bound of the returned value is 1.0 ULP
  if <i class="var">a</i> is in [-709, 709] for the double-precision function or
  [-88.5, 88.5] for the single-precision function . If <i class="var">a</i> is a
  finite value out of this range, infinity with a correct sign or a
  correct value with 1.0 ULP error bound is returned. These functions
  treat the non-number arguments and return non-numbers as specified
  in the C99 specification. These functions do not set errno nor raise
  an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_cosh_u35" class="func">Sleef_cosh_u35</b>, <b id="Sleef_coshf_u35" class="func">Sleef_coshf_u35</b> - hyperbolic cosine functions</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_cosh_u35</b>(<b class="type">double</b> <i class="var">a</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_coshf_u35</b>(<b class="type">float</b> <i class="var">a</i>);<br/>
<!--<b class="type">long double</b> <b class="func">Sleef_coshl_u35</b>(<b class="type">long double</b> <i class="var">a</i>);<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions evaluate the hyperbolic cosine function of a value
  in <i class="var">a</i>. The error bound of the returned value is 3.5 ULP
  if <i class="var">a</i> is in [-709, 709] for the double-precision function or
  [-88, 88] for the single-precision function . If <i class="var">a</i> is a
  finite value out of this range, infinity with a correct sign or a
  correct value with 3.5 ULP error bound is returned. These functions
  treat the non-number arguments and return non-numbers as specified
  in the C99 specification. These functions do not set errno nor raise
  an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_tanh_u10" class="func">Sleef_tanh_u10</b>, <b id="Sleef_tanhf_u10" class="func">Sleef_tanhf_u10</b> - hyperbolic tangent functions</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_tanh_u10</b>(<b class="type">double</b> <i class="var">a</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_tanhf_u10</b>(<b class="type">float</b> <i class="var">a</i>);<br/>
<!--<b class="type">long double</b> <b class="func">Sleef_tanhl_u10</b>(<b class="type">long double</b> <i class="var">a</i>);<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions evaluate the hyperbolic tangent function of a value
  in <i class="var">a</i>. The error bound of the returned value is 1.0 ULP for
  the double-precision function or 1.0001 ULP for the single-precision
  function. These functions treat the non-number arguments and return
  non-numbers as specified in the C99 specification. These functions
  do not set errno nor raise an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_tanh_u35" class="func">Sleef_tanh_u35</b>, <b id="Sleef_tanhf_u35" class="func">Sleef_tanhf_u35</b> - hyperbolic tangent functions</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_tanh_u35</b>(<b class="type">double</b> <i class="var">a</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_tanhf_u35</b>(<b class="type">float</b> <i class="var">a</i>);<br/>
<!--<b class="type">long double</b> <b class="func">Sleef_tanhl_u35</b>(<b class="type">long double</b> <i class="var">a</i>);<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions evaluate the hyperbolic tangent function of a value
  in <i class="var">a</i>. The error bound of the returned value is 3.5 ULP for
  the double-precision function or 3.5 ULP for the single-precision
  function. These functions treat the non-number arguments and return
  non-numbers as specified in the C99 specification. These functions
  do not set errno nor raise an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_asinh_u10" class="func">Sleef_asinh_u10</b>, <b id="Sleef_asinhf_u10" class="func">Sleef_asinhf_u10</b> - inverse hyperbolic sine functions</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_asinh_u10</b>(<b class="type">double</b> <i class="var">a</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_asinhf_u10</b>(<b class="type">float</b> <i class="var">a</i>);<br/>
<!--<b class="type">long double</b> <b class="func">Sleef_asinhl_u10</b>(<b class="type">long double</b> <i class="var">a</i>);<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions evaluate the inverse hyperbolic sine function of a
  value in <i class="var">a</i>. The error bound of the returned value is 1.0 ULP
  if <i class="var">a</i> is in [-1.34e+154, 1.34e+154] for the double-precision
  function or 1.001 ULP if <i class="var">a</i> is in [-1.84e+19, 1.84e+19] for
  the single-precision function . If <i class="var">a</i> is a finite value out of
  this range, infinity with a correct sign or a correct value with 1.0
  ULP error bound is returned. These functions treat the non-number
  arguments and return non-numbers as specified in the C99
  specification. These functions do not set errno nor raise an
  exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_acosh_u10" class="func">Sleef_acosh_u10</b>, <b id="Sleef_acoshf_u10" class="func">Sleef_acoshf_u10</b> - inverse hyperbolic cosine functions</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_acosh_u10</b>(<b class="type">double</b> <i class="var">a</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_acoshf_u10</b>(<b class="type">float</b> <i class="var">a</i>);<br/>
<!--<b class="type">long double</b> <b class="func">Sleef_acoshl_u10</b>(<b class="type">long double</b> <i class="var">a</i>);<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions evaluate the inverse hyperbolic cosine function of
  a value in <i class="var">a</i>. The error bound of the returned value is 1.0
  ULP if <i class="var">a</i> is in [-1.34e+154, 1.34e+154] for the
  double-precision function or 1.001 ULP if <i class="var">a</i> is in [-1.84e+19,
  1.84e+19] for the single-precision function . If <i class="var">a</i> is a
  finite value out of this range, infinity with a correct sign or a
  correct value with 1.0 ULP error bound is returned. These functions
  treat the non-number arguments and return non-numbers as specified
  in the C99 specification. These functions do not set errno nor raise
  an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_atanh_u10" class="func">Sleef_atanh_u10</b>, <b id="Sleef_atanhf_u10" class="func">Sleef_atanhf_u10</b> - inverse hyperbolic tangent functions</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_atanh_u10</b>(<b class="type">double</b> <i class="var">a</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_atanhf_u10</b>(<b class="type">float</b> <i class="var">a</i>);<br/>
<!--<b class="type">long double</b> <b class="func">Sleef_atanhl_u10</b>(<b class="type">long double</b> <i class="var">a</i>);<br/>-->
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions evaluate the inverse hyperbolic tangent function of
  a value in <i class="var">a</i>. The error bound of the returned value is 1.0
  ULP for the double-precision function or 1.0001 ULP for the
  single-precision function. These functions treat the non-number
  arguments and return non-numbers as specified in the C99
  specification. These functions do not set errno nor raise an
  exception.
</p>

<h2 id="eg">Error and gamma functions</h2>

<p class="funcname"><b id="Sleef_erf_u10" class="func">Sleef_erf_u10</b>, <b id="Sleef_erff_u10" class="func">Sleef_erff_u10</b> - error functions with 1.0 ULP error bound</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_erf_u10</b>(<b class="type">double</b> <i class="var">x</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_erff_u10</b>(<b class="type">float</b> <i class="var">x</i>);<br/>
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions return the value as specified in the C99
  specification of erf and erff functions. The error bound of the
  returned value is 1.0 ULP.  These functions do not set errno nor
  raise an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_erf" class="func">Sleef_erfc_u15</b>, <b id="Sleef_erff" class="func">Sleef_erfcf_u15</b> - complementary error functions</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_erfc_u15</b>(<b class="type">double</b> <i class="var">x</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_erfcf_u15</b>(<b class="type">float</b> <i class="var">x</i>);<br/>
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions return the value as specified in the C99
  specification of erfc and erfcf functions. The error bound of the
  returned value for the DP function is max(1.5 ULP, DBL_MIN) if the
  argument is less than 26.2, and max(2.5 ULP, DBL_MIN) otherwise. For the SP
  function, the error bound is max(1.5 ULP, FLT_MIN). These functions
  do not set errno nor raise an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_tgamma_u10" class="func">Sleef_tgamma_u10</b>, <b id="Sleef_tgammaf_u10" class="func">Sleef_tgammaf_u10</b> - gamma functions with 1.0 ULP error bound</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_tgamma_u10</b>(<b class="type">double</b> <i class="var">x</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_tgammaf_u10</b>(<b class="type">float</b> <i class="var">x</i>);<br/>
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions return the value as specified in the C99
  specification of tgamma and tgammaf functions. The error bound of the
  returned value is 1.0 ULP.  These functions do not set errno nor
  raise an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_lgamma_u10" class="func">Sleef_lgamma_u10</b>, <b id="Sleef_lgammaf_u10" class="func">Sleef_lgammaf_u10</b> - log gamma functions with 1.0 ULP error bound</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_lgamma_u10</b>(<b class="type">double</b> <i class="var">x</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_lgammaf_u10</b>(<b class="type">float</b> <i class="var">x</i>);<br/>
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions return the value as specified in the C99
  specification of lgamma and lgammaf functions. The error bound of
  the returned value is 1.0 ULP if the argument is positive. If the
  argument is larger than 2e+305 for the DP function and 4e+36 for the
  SP function, it may return infinity instead of the correct value.
  The error bound is max(1 ULP, 1e-15) for the DP function and max(1
  ULP and 1e-8) for the SP function, if the argument is negative.
  These functions do not set errno nor raise an exception.
</p>


<h2 id="nearint">Nearest integer functions</h2>

<p class="funcname"><b id="Sleef_trunc" class="func">Sleef_trunc</b>, <b id="Sleef_truncf" class="func">Sleef_truncf</b> - round to integer towards zero</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_trunc</b>(<b class="type">double</b> <i class="var">x</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_truncf</b>(<b class="type">float</b> <i class="var">x</i>);<br/>
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
These functions return the value as specified in the C99 specification
of trunc and truncf functions. These functions do not set errno nor
raise an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_floor" class="func">Sleef_floor</b>, <b id="Sleef_floorf" class="func">Sleef_floorf</b> - round to integer towards minus infinity</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_floor</b>(<b class="type">double</b> <i class="var">x</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_floorf</b>(<b class="type">float</b> <i class="var">x</i>);<br/>
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
These functions return the value as specified
in the C99 specification of floor and floorf functions. These
functions do not set errno nor raise an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_ceil" class="func">Sleef_ceil</b>, <b id="Sleef_ceilf" class="func">Sleef_ceilf</b> - round to integer towards plus infinity</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_ceil</b>(<b class="type">double</b> <i class="var">x</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_ceilf</b>(<b class="type">float</b> <i class="var">x</i>);<br/>
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
These functions return the value as specified in
the C99 specification of ceil and ceilf functions. These functions
do not set errno nor raise an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_round" class="func">Sleef_round</b>, <b id="Sleef_roundf" class="func">Sleef_roundf</b> - round to integer away from zero</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_round</b>(<b class="type">double</b> <i class="var">x</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_roundf</b>(<b class="type">float</b> <i class="var">x</i>);<br/>
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions return the value as specified in the C99
  specification of round and roundf functions. These functions do not
  set errno nor raise an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_rint" class="func">Sleef_rint</b>, <b id="Sleef_rintf" class="func">Sleef_rintf</b> - round to integer, ties round to even</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_rint</b>(<b class="type">double</b> <i class="var">x</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_rintf</b>(<b class="type">float</b> <i class="var">x</i>);<br/>
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions return the value as specified in the C99
  specification of rint and rintf functions. These functions do not
  set errno nor raise an exception.
</p>

<h2 id="other">Other functions</h2>

<p class="funcname"><b id="Sleef_fma" class="func">Sleef_fma</b>, <b id="Sleef_fmaf" class="func">Sleef_fmaf</b> - fused multiply and accumulate</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_fma</b>(<b class="type">double</b> <i class="var">x</i>, <b class="type">double</b> <i class="var">y</i>, <b class="type">double</b> <i class="var">z</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_fmaf</b>(<b class="type">float</b> <i class="var">x</i>, <b class="type">float</b> <i class="var">y</i>, <b class="type">float</b> <i class="var">z</i>);<br/>
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
These functions compute (<i><i class="var">x</i>
&times; <i class="var">y</i> + <i class="var">z</i></i>) without
rounding, and then return the rounded value of the result. These
functions may return infinity with a correct sign if the absolute
value of the correct return value is greater than 1e+300 and 1e+33,
respectively.  The error bounds of the returned values are 0.5 ULP and
max(0.50001 ULP, FLT_MIN), respectively.
</p>

<hr/>

<p class="funcname"><b id="Sleef_fmod" class="func">Sleef_fmod</b>, <b id="Sleef_fmodf" class="func">Sleef_fmodf</b> - FP remainder</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_fmod</b>(<b class="type">double</b> <i class="var">x</i>, <b class="type">double</b> <i class="var">y</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_fmodf</b>(<b class="type">float</b> <i class="var">x</i>, <b class="type">float</b> <i class="var">y</i>);<br/>
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions return the value as specified in the C99
  specification of fmod and fmodf functions, if <i>|<i class="var">x</i> / <i class="var">y</i>|</i> is
  smaller than 1e+300 and 1e+38, respectively. The returned value is
  undefined, otherwise. These functions do not set errno nor raise an
  exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_remainder" class="func">Sleef_remainder</b>, <b id="Sleef_remainderf" class="func">Sleef_remainderf</b> - FP remainder</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_remainder</b>(<b class="type">double</b> <i class="var">x</i>, <b class="type">double</b> <i class="var">y</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_remainderf</b>(<b class="type">float</b> <i class="var">x</i>, <b class="type">float</b> <i class="var">y</i>);<br/>
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions return the value as specified in the C99
  specification of remainder and remainderf functions, if <i>|<i class="var">x</i> / <i class="var">y</i>|</i> is
  smaller than 1e+300 and 1e+38, respectively. The returned value is
  undefined, otherwise. These functions do not set errno nor raise an
  exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_ldexp" class="func">Sleef_ldexp</b>, <b id="Sleef_ldexpf" class="func">Sleef_ldexpf</b> - multiply by integral power of 2</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_ldexp</b>(<b class="type">double</b> <i class="var">m</i>, <b class="type">int</b> <i class="var">x</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_ldexpf</b>(<b class="type">float</b> <i class="var">m</i>, <b class="type">int</b> <i class="var">x</i>);<br/>
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions return the result of multiplying <i class="var">m</i> by 2
  raised to the power <i class="var">x</i>.  These functions treat the non-number
  arguments and return non-numbers as specified in the C99
  specification. These functions do not set errno nor raise an
  exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_frfrexp" class="func">Sleef_frfrexp</b>, <b id="Sleef_frfrexpf" class="func">Sleef_frfrexpf</b> - fractional component of an FP number</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_frfrexp</b>(<b class="type">double</b> <i class="var">x</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_frfrexpf</b>(<b class="type">float</b> <i class="var">x</i>);<br/>
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions return the value as specified in the C99
  specification of frexp and frexpf functions. These functions do not
  set errno nor raise an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_expfrexp" class="func">Sleef_expfrexp</b>, <b id="Sleef_expfrexpf" class="func">Sleef_expfrexpf</b> - exponent of an FP number</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">int</b> <b class="func">Sleef_expfrexp</b>(<b class="type">double</b> <i class="var">x</i>);<br/>
<b class="type">int</b> <b class="func">Sleef_expfrexpf</b>(<b class="type">float</b> <i class="var">x</i>);<br/>
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions return the exponent returned by frexp and frexpf
  functions as specified in the C99 specification. These functions do
  not set errno nor raise an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_ilogb" class="func">Sleef_ilogb</b>, <b id="Sleef_ilogbf" class="func">Sleef_ilogbf</b> - integer exponent of an FP number</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">int</b> <b class="func">Sleef_ilogb</b>(<b class="type">double</b> <i class="var">m</i>, <b class="type">int</b> <i class="var">x</i>);<br/>
<b class="type">int</b> <b class="func">Sleef_ilogbf</b>(<b class="type">float</b> <i class="var">m</i>, <b class="type">int</b> <i class="var">x</i>);<br/>
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions return the value as specified in the C99
  specification of ilogb and ilogbf functions. These functions do not
  set errno nor raise an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_modf" class="func">Sleef_modf</b>, <b id="Sleef_modff" class="func">Sleef_modff</b> - integral and fractional value of FP number</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">Sleef_double2</b> <b class="func">Sleef_modf</b>(<b class="type">double</b> <i class="var">x</i>);<br/>
<b class="type">Sleef_float2</b> <b class="func">Sleef_modff</b>(<b class="type">float</b> <i class="var">x</i>);<br/>
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions return the value as specified in the C99
  specification of modf and modff functions. These functions do not
  set errno nor raise an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_fabs" class="func">Sleef_fabs</b>, <b id="Sleef_fabsf" class="func">Sleef_fabsf</b> - absolute value</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_fabs</b>(<b class="type">double</b> <i class="var">x</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_fabsf</b>(<b class="type">float</b> <i class="var">x</i>);<br/>
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
  These functions return the value as specified in the C99
  specification of fabs and fabsf functions. These functions do not
  set errno nor raise an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_fmax" class="func">Sleef_fmax</b>, <b id="Sleef_fmaxf" class="func">Sleef_fmaxf</b> - maximum of two numbers</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_fmax</b>(<b class="type">double</b> <i class="var">x</i>, <b class="type">double</b> <i class="var">y</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_fmaxf</b>(<b class="type">float</b> <i class="var">x</i>, <b class="type">float</b> <i class="var">y</i>);<br/>
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
These functions return the value as specified in
the C99 specification of fmax and fmaxf functions. These functions
do not set errno nor raise an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_fmin" class="func">Sleef_fmin</b>, <b id="Sleef_fminf" class="func">Sleef_fminf</b> - minimum of two numbers</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_fmin</b>(<b class="type">double</b> <i class="var">x</i>, <b class="type">double</b> <i class="var">y</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_fminf</b>(<b class="type">float</b> <i class="var">x</i>, <b class="type">float</b> <i class="var">y</i>);<br/>
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
These functions return the value as specified in
the C99 specification of fmin and fminf functions. These functions
do not set errno nor raise an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_fdim" class="func">Sleef_fdim</b>, <b id="Sleef_fdimf" class="func">Sleef_fdimf</b> - positive difference</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_fdim</b>(<b class="type">double</b> <i class="var">x</i>, <b class="type">double</b> <i class="var">y</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_fdimf</b>(<b class="type">float</b> <i class="var">x</i>, <b class="type">float</b> <i class="var">y</i>);<br/>
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
These functions return the value as specified in
the C99 specification of fdim and fdimf functions. These functions
do not set errno nor raise an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_copysign" class="func">Sleef_copysign</b>, <b id="Sleef_copysignf" class="func">Sleef_copysignf</b> - copy sign of a number</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_copysign</b>(<b class="type">double</b> <i class="var">x</i>, <b class="type">double</b> <i class="var">y</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_copysignf</b>(<b class="type">float</b> <i class="var">x</i>, <b class="type">float</b> <i class="var">y</i>);<br/>
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
These functions return the value as specified in
the C99 specification of copysign and copysignf functions. These functions
do not set errno nor raise an exception.
</p>

<hr/>

<p class="funcname"><b id="Sleef_nextafter" class="func">Sleef_nextafter</b>, <b id="Sleef_nextafterf" class="func">Sleef_nextafterf</b> - find the next representable FP value</p>

<p class="header">Synopsis</p>

<p class="synopsis">
#include &lt;sleef.h&gt;<br/>
<br/>
<b class="type">double</b> <b class="func">Sleef_nextafter</b>(<b class="type">double</b> <i class="var">x</i>, <b class="type">double</b> <i class="var">y</i>);<br/>
<b class="type">float</b> <b class="func">Sleef_nextafterf</b>(<b class="type">float</b> <i class="var">x</i>, <b class="type">float</b> <i class="var">y</i>);<br/>
<br/>
<span class="normal">Link with</span> -lsleef.
</p>

<p class="header">Description</p>

<p class="noindent">
These functions return the value as specified in
the C99 specification of nextafter and nextafterf functions. These functions
do not set errno nor raise an exception.
</p>

<p class="footer">
  Copyright &copy; <!--YEAR--> SLEEF Project.<br/>
  SLEEF is open-source software and is distributed under the Boost Software License, Version 1.0.
</p>

<!--TEST-->

</body>
</html>
